package it.vidoc.mybatis.sqlquery;

import it.vidoc.mybatis.javaclient.InfcomuniMapper;
import it.vidoc.mybatis.javamodel.Infcomuni;
import it.vidoc.mybatis.javamodel.InfcomuniExample;
import it.vidoc.utils.MyBatisConnectionFactory;

import java.io.IOException;
import java.util.List;

import org.apache.ibatis.session.SqlSession;

public class SqlInfComuni {
	
	public SqlInfComuni() {
//		try {
//			MyBatisConnectionFactory.openSqlSessionFactory();
//		} catch (IOException e) {
//			e.printStackTrace();
//		}
	}

	public List<Infcomuni> GetProvincie() {
        MyBatisConnectionFactory.openSqlSession();
		SqlSession sqlSession = MyBatisConnectionFactory.getSqlSession();
		InfcomuniMapper InfcomuniMapper = sqlSession.getMapper(InfcomuniMapper.class);
		InfcomuniExample infcomuniExample = new InfcomuniExample();
		infcomuniExample.createCriteria().andCodicecomuneEqualTo("999");
		infcomuniExample.setOrderByClause("denomcomune");
		List<Infcomuni> list = InfcomuniMapper.selectByExample(infcomuniExample);
		MyBatisConnectionFactory.closeSqlSession();
		return list;
	}

	
	public List<Infcomuni> GetComuni(String siglaPrv) {
        MyBatisConnectionFactory.openSqlSession();
		SqlSession sqlSession = MyBatisConnectionFactory.getSqlSession();
		InfcomuniMapper InfcomuniMapper = sqlSession.getMapper(InfcomuniMapper.class);
		InfcomuniExample infcomuniExample = new InfcomuniExample();
		infcomuniExample.createCriteria().andSiglaprovinciaEqualTo(siglaPrv).andCodicecomuneNotEqualTo("999");
		infcomuniExample.setOrderByClause("denomcomune");
		List<Infcomuni> list = InfcomuniMapper.selectByExample(infcomuniExample);
		MyBatisConnectionFactory.closeSqlSession();
		return list;
	}

	public List<Infcomuni> GetComune(String istat) {
        MyBatisConnectionFactory.openSqlSession();
		SqlSession sqlSession = MyBatisConnectionFactory.getSqlSession();
		InfcomuniMapper InfcomuniMapper = sqlSession.getMapper(InfcomuniMapper.class);
		InfcomuniExample infcomuniExample = new InfcomuniExample();
		infcomuniExample.createCriteria().andCodistatEqualTo(istat);
		List<Infcomuni> list = InfcomuniMapper.selectByExample(infcomuniExample);
		MyBatisConnectionFactory.closeSqlSession();
		return list;
	}

	
	
	
//	public List<Istatregprov> SqlSelectIstatRegPrvORD() {
//        MyBatisConnectionFactory.openSqlSession();
//		SqlSession sqlSession = MyBatisConnectionFactory.getSqlSession();
//		IstatregprovMapper istatregprovMapper = sqlSession.getMapper(IstatregprovMapper.class);
//		IstatregprovExample istatregprovExample = new IstatregprovExample();
//		istatregprovExample.setOrderByClause("DenomProvincia");
//		List<Istatregprov> list = istatregprovMapper.selectByExample(istatregprovExample);
//		MyBatisConnectionFactory.closeSqlSession();
//		return list;
//	}

	
}
	
